package niuKe;

import java.io.InputStream;

public class V015_求int型数据在内存中存储时1的个数 {
    //题目描述
    //输入一个int型的正整数，计算出该int型数据在内存中存储时1的个数。
    //
    //输入描述:
    // 输入一个整数（int类型）
    //
    //输出描述:
    // 这个数转换成2进制后，输出1的个数
    //
    //示例1
    //输入
    //5
    //输出
    //2
    //最快最省内存方式
    public static void main(String[] args) throws Exception {
        InputStream stream = System.in;
        int l ;
        byte[] bytes = new byte[1024];
        while ((l = stream.read(bytes)) > 0) {
            String numStr = new String(bytes, 0, l - 1);
            int num = Integer.parseInt(numStr);
            int count = 0;
            while(0 != num){
                if(num % 2 == 1){
                    count++;
                }
                num = num / 2;
            }
            System.out.println(count);
        }
    }
}
